package Connectivity; import Command.LDrawPart; import Common.Matrix4; import LDraw.Support.type.LDrawGridTypeT; public class Ball extends Connectivity { float[] flexAttributes; public float[] getflexAttributes() { return flexAttributes; } public void setflexAttributes(String flexAttributes) { String[] split = flexAttributes.split(","); this.flexAttributes = new float[split.length]; for (int i = 0; i < split.length; i++) { this.flexAttributes[i] = Float.parseFloat(split[i]); } } @Override public String toString() { String str = null; if (flexAttributes != null) { str = String.valueOf(flexAttributes[0]); for (int i = 1; i < flexAttributes.length; i++) { str += "," + flexAttributes[i]; } } return super.toString(str); } @Override public int parseString(String[] line) { int size = super.parseString(line); if (line.length > size + 2) { setflexAttributes(line[size + 1]); } return 0; } @Override public String getName() { return "Ball"; } // @Override // public Matrix4 getTransformMatrixForSnapConnecting( // Connectivity existingConn, Matrix4 initialTransformOfPart) { // Matrix4 newTransform = getTransformMatrixForSnapDirection(existingConn); // if (newTransform != null) { // Vector3f realMatchingPosOfExistingConn = existingConn // .getCurrentPos(); // Vector3f realPosOfTestingConn = getCurrentPos(newTransform); // // Vector3f posAdjust = realMatchingPosOfExistingConn // .sub(realPosOfTestingConn); // newTransform.translate(posAdjust.x, posAdjust.y, posAdjust.z); // } // return newTransform; // } @Override public Matrix4 getRotationMatrixForConnection(Connectivity existingConn, Matrix4 initialMatrixOfPart) { Matrix4 newTransform = new Matrix4(initialMatrixOfPart); newTransform.element[3][0] = newTransform.element[3][1] = newTransform.element[3][2] = 0; return newTransform; } }